public class xiShu {
    public static void main(String[] args) {
        //创建一个原始数组
        int che[][]= new  int[11][11];
        che[1][2]=1;
        che[2][3]=2;
        che[3][4]=5;
        for (int[] row:che){
            System.out.println("\n");
            for(int data:row){
                System.out.printf("%d\t", data);
            }
        }
        int sum=0;
        //将原始数组变成稀疏数组
        //1.先遍历二维数组 得到菲林数据的个数
        for (int i=0;i<che.length;i++){
            for (int j =0;j<che.length;j++){
                if (che[i][j] !=0){
                    sum++;
                }
            }
        }
        System.out.println(sum);
        //得到sum 以后 可以建立一个3、sum+1的数组
        int[][] ints = new int[sum+1][ 3];
        ints[0][0]=che.length;
        ints[0][1]=che.length;
        ints[0][2]=sum;

        //把ce里面的非零元素位置记录下来 并把其赋值给ints
        int count=0;
        for (int i=0;i<che.length;i++){
            for (int j =0;j<che.length;j++){
                if (che[i][j] !=0){
                    count++;
                    ints[count][0]=i;
                    ints[count][1]=j;
                    ints[count][2]=che[i][j];
                }
            }
        }
        for (int[] row:ints){
            System.out.println("\n");
            for(int data:row){
                System.out.printf("%d\t", data);
            }
        }

       int yuanshiint[][]=new int[ints[0][0]][ints[0][1]];
        for (int i=1;i<ints.length;i++){//.length最长的长度
            yuanshiint[ints[i][0]][ints[i][1]]=ints[i][2];

        }
        System.out.println("恢复后");

        for (int[] row:che){
            System.out.println("\n");
            for(int data:row){
                System.out.printf("%d\t", data);
            }
        }




   }
}
